<!doctype html><html lang=en dir=auto><head><meta charset=utf-8><meta http-equiv=x-ua-compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="index, follow"><title>「Android」各平台上架网址和心得 | wenbin</title><meta name=keywords content="Android开发杂货"><meta name=description content="上传iOS应用只需在App Store上传一次即可，国内安卓商店众多，这篇文章主要阐述主要的几个平台上架的心得并附网址。
第一次上架 华为 华为开放平台
优点：
界面做的最像App Store Connect，使用起来没有什么障碍。 保存的信息没有丢失过。 审核速度比较快，不到24小时就会处理完。 缺点：
一些文档有时打不开，需要的资质要求较多，需要提前准备（例如软著、ICP备案和一些特殊分类资质） 小米 小米开放平台
优点：
绑定邮件后，邮件通知及时。 界面做的简单，一个页面从上到下就可以填写完成，不需要切换页面。 缺点：
找不到人工客服，只能通过留言和发邮件，留言回复非常慢&mldr; 审核速度慢，基本上2-3天。 保存的信息有时候会丢失，所以上架前需要再仔细检查一遍 OPPO OPPO开放平台 比较中规中矩，都还可以，就是评级有点恶心
ViVO ViVO开放平台
优点：
客服回复很快，感觉挺专业。 审核速度快，基本上最快2小时左右就有结果。 审核邮件发的很及时。 缺点：
有时应用没什么问题后，被拒了，需要提供华为、小米、OPPO其中两家的上架截图&mldr;.(无语) 只能用Chrome浏览器打开没问题，Safari打开会有问题. 阿里应用开放平台 阿里应用开放平台
缺点：
资质要求比较严格。 审核速度慢。 腾讯应用宝 腾讯应用宝
优点：
审核速度还行，基本1天左右就有回复 缺点：
需要资质多。 客服每个人回复的规则都不一样，今天需要提交某某资质，第二天就变了，如果资讯资质类相关内容，一定要问仔细，包括公章盖的位置等。 人工客服需要加QQ，然后排队 百度手机助手 弃用吧，最垃圾&mldr;
后续版本更新 速度很快，基本上都在24小时内就有结果，大概的速度如下： 腾讯应用宝 > OPPO > ViVO > 小米 ≈ 华为"><meta name=author content><link rel=canonical href=https://imwenbin.com/blog/android%E5%90%84%E5%B9%B3%E5%8F%B0%E4%B8%8A%E6%9E%B6%E7%BD%91%E5%9D%80%E5%92%8C%E5%BF%83%E5%BE%97/><meta name=google-site-verification content="XYZabc"><meta name=yandex-verification content="XYZabc"><meta name=msvalidate.01 content="XYZabc"><link rel=icon href=https://imwenbin.com/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://imwenbin.com/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://imwenbin.com/favicon-32x32.png><link rel=icon type=image/png sizes=400x400 href=https://imwenbin.com/favicon-400x400.png><link rel=icon type=image/png sizes=512x512 href=https://imwenbin.com/favicon-512x512.png><link rel=apple-touch-icon href=https://imwenbin.com/apple-touch-icon.png><link rel=apple-touch-icon sizes=57x57 href=https://imwenbin.com/apple-touch-icon-57x57.png><link rel=apple-touch-icon sizes=60x60 href=https://imwenbin.com/apple-touch-icon-60x60.png><link rel=apple-touch-icon sizes=72x72 href=https://imwenbin.com/apple-touch-icon-72x72.png><link rel=apple-touch-icon sizes=76x76 href=https://imwenbin.com/apple-touch-icon-76x76.png><link rel=apple-touch-icon sizes=114x114 href=https://imwenbin.com/apple-touch-icon-114x114.png><link rel=apple-touch-icon sizes=120x120 href=https://imwenbin.com/apple-touch-icon-120x120.png><link rel=apple-touch-icon sizes=144x144 href=https://imwenbin.com/apple-touch-icon-144x144.png><link rel=apple-touch-icon sizes=152x152 href=https://imwenbin.com/apple-touch-icon-152x152.png><link rel=apple-touch-icon sizes=180x180 href=https://imwenbin.com/apple-touch-icon-180x180.png><link rel=mask-icon href=https://imwenbin.com/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link crossorigin=anonymous href=/assets/css/stylesheet.min.css rel="preload stylesheet" as=style><script defer crossorigin=anonymous src=/assets/js/highlight.min.js onload=hljs.initHighlightingOnLoad()></script><meta name=generator content="Hugo 0.104.3"><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--hljs-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><meta property="og:title" content="「Android」各平台上架网址和心得"><meta property="og:description" content="上传iOS应用只需在App Store上传一次即可，国内安卓商店众多，这篇文章主要阐述主要的几个平台上架的心得并附网址。
第一次上架 华为 华为开放平台
优点：
界面做的最像App Store Connect，使用起来没有什么障碍。 保存的信息没有丢失过。 审核速度比较快，不到24小时就会处理完。 缺点：
一些文档有时打不开，需要的资质要求较多，需要提前准备（例如软著、ICP备案和一些特殊分类资质） 小米 小米开放平台
优点：
绑定邮件后，邮件通知及时。 界面做的简单，一个页面从上到下就可以填写完成，不需要切换页面。 缺点：
找不到人工客服，只能通过留言和发邮件，留言回复非常慢&mldr; 审核速度慢，基本上2-3天。 保存的信息有时候会丢失，所以上架前需要再仔细检查一遍 OPPO OPPO开放平台 比较中规中矩，都还可以，就是评级有点恶心
ViVO ViVO开放平台
优点：
客服回复很快，感觉挺专业。 审核速度快，基本上最快2小时左右就有结果。 审核邮件发的很及时。 缺点：
有时应用没什么问题后，被拒了，需要提供华为、小米、OPPO其中两家的上架截图&mldr;.(无语) 只能用Chrome浏览器打开没问题，Safari打开会有问题. 阿里应用开放平台 阿里应用开放平台
缺点：
资质要求比较严格。 审核速度慢。 腾讯应用宝 腾讯应用宝
优点：
审核速度还行，基本1天左右就有回复 缺点：
需要资质多。 客服每个人回复的规则都不一样，今天需要提交某某资质，第二天就变了，如果资讯资质类相关内容，一定要问仔细，包括公章盖的位置等。 人工客服需要加QQ，然后排队 百度手机助手 弃用吧，最垃圾&mldr;
后续版本更新 速度很快，基本上都在24小时内就有结果，大概的速度如下： 腾讯应用宝 > OPPO > ViVO > 小米 ≈ 华为"><meta property="og:type" content="article"><meta property="og:url" content="https://imwenbin.com/blog/android%E5%90%84%E5%B9%B3%E5%8F%B0%E4%B8%8A%E6%9E%B6%E7%BD%91%E5%9D%80%E5%92%8C%E5%BF%83%E5%BE%97/"><meta property="article:section" content="Blog"><meta property="article:published_time" content="2021-11-18T10:07:36+08:00"><meta property="article:modified_time" content="2021-11-18T10:07:36+08:00"><meta property="og:site_name" content="wenbin"><meta name=twitter:card content="summary"><meta name=twitter:title content="「Android」各平台上架网址和心得"><meta name=twitter:description content="上传iOS应用只需在App Store上传一次即可，国内安卓商店众多，这篇文章主要阐述主要的几个平台上架的心得并附网址。
第一次上架 华为 华为开放平台
优点：
界面做的最像App Store Connect，使用起来没有什么障碍。 保存的信息没有丢失过。 审核速度比较快，不到24小时就会处理完。 缺点：
一些文档有时打不开，需要的资质要求较多，需要提前准备（例如软著、ICP备案和一些特殊分类资质） 小米 小米开放平台
优点：
绑定邮件后，邮件通知及时。 界面做的简单，一个页面从上到下就可以填写完成，不需要切换页面。 缺点：
找不到人工客服，只能通过留言和发邮件，留言回复非常慢&mldr; 审核速度慢，基本上2-3天。 保存的信息有时候会丢失，所以上架前需要再仔细检查一遍 OPPO OPPO开放平台 比较中规中矩，都还可以，就是评级有点恶心
ViVO ViVO开放平台
优点：
客服回复很快，感觉挺专业。 审核速度快，基本上最快2小时左右就有结果。 审核邮件发的很及时。 缺点：
有时应用没什么问题后，被拒了，需要提供华为、小米、OPPO其中两家的上架截图&mldr;.(无语) 只能用Chrome浏览器打开没问题，Safari打开会有问题. 阿里应用开放平台 阿里应用开放平台
缺点：
资质要求比较严格。 审核速度慢。 腾讯应用宝 腾讯应用宝
优点：
审核速度还行，基本1天左右就有回复 缺点：
需要资质多。 客服每个人回复的规则都不一样，今天需要提交某某资质，第二天就变了，如果资讯资质类相关内容，一定要问仔细，包括公章盖的位置等。 人工客服需要加QQ，然后排队 百度手机助手 弃用吧，最垃圾&mldr;
后续版本更新 速度很快，基本上都在24小时内就有结果，大概的速度如下： 腾讯应用宝 > OPPO > ViVO > 小米 ≈ 华为"><script type=application/ld+json>{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Blogs","item":"https://imwenbin.com/blog/"},{"@type":"ListItem","position":2,"name":"「Android」各平台上架网址和心得","item":"https://imwenbin.com/blog/android%E5%90%84%E5%B9%B3%E5%8F%B0%E4%B8%8A%E6%9E%B6%E7%BD%91%E5%9D%80%E5%92%8C%E5%BF%83%E5%BE%97/"}]}</script><script type=application/ld+json>{"@context":"https://schema.org","@type":"BlogPosting","headline":"「Android」各平台上架网址和心得","name":"「Android」各平台上架网址和心得","description":"上传iOS应用只需在App Store上传一次即可，国内安卓商店众多，这篇文章主要阐述主要的几个平台上架的心得并附网址。\n第一次上架 华为 华为开放平台\n优点：\n界面做的最像App Store Connect，使用起来没有什么障碍。 保存的信息没有丢失过。 审核速度比较快，不到24小时就会处理完。 缺点：\n一些文档有时打不开，需要的资质要求较多，需要提前准备（例如软著、ICP备案和一些特殊分类资质） 小米 小米开放平台\n优点：\n绑定邮件后，邮件通知及时。 界面做的简单，一个页面从上到下就可以填写完成，不需要切换页面。 缺点：\n找不到人工客服，只能通过留言和发邮件，留言回复非常慢\u0026hellip; 审核速度慢，基本上2-3天。 保存的信息有时候会丢失，所以上架前需要再仔细检查一遍 OPPO OPPO开放平台 比较中规中矩，都还可以，就是评级有点恶心\nViVO ViVO开放平台\n优点：\n客服回复很快，感觉挺专业。 审核速度快，基本上最快2小时左右就有结果。 审核邮件发的很及时。 缺点：\n有时应用没什么问题后，被拒了，需要提供华为、小米、OPPO其中两家的上架截图\u0026hellip;.(无语) 只能用Chrome浏览器打开没问题，Safari打开会有问题. 阿里应用开放平台 阿里应用开放平台\n缺点：\n资质要求比较严格。 审核速度慢。 腾讯应用宝 腾讯应用宝\n优点：\n审核速度还行，基本1天左右就有回复 缺点：\n需要资质多。 客服每个人回复的规则都不一样，今天需要提交某某资质，第二天就变了，如果资讯资质类相关内容，一定要问仔细，包括公章盖的位置等。 人工客服需要加QQ，然后排队 百度手机助手 弃用吧，最垃圾\u0026hellip;\n后续版本更新 速度很快，基本上都在24小时内就有结果，大概的速度如下： 腾讯应用宝 \u0026gt; OPPO \u0026gt; ViVO \u0026gt; 小米 ≈ 华为","keywords":["Android开发杂货"],"articleBody":" 上传iOS应用只需在App Store上传一次即可，国内安卓商店众多，这篇文章主要阐述主要的几个平台上架的心得并附网址。\n第一次上架 华为 华为开放平台\n优点：\n界面做的最像App Store Connect，使用起来没有什么障碍。 保存的信息没有丢失过。 审核速度比较快，不到24小时就会处理完。 缺点：\n一些文档有时打不开，需要的资质要求较多，需要提前准备（例如软著、ICP备案和一些特殊分类资质） 小米 小米开放平台\n优点：\n绑定邮件后，邮件通知及时。 界面做的简单，一个页面从上到下就可以填写完成，不需要切换页面。 缺点：\n找不到人工客服，只能通过留言和发邮件，留言回复非常慢… 审核速度慢，基本上2-3天。 保存的信息有时候会丢失，所以上架前需要再仔细检查一遍 OPPO OPPO开放平台 比较中规中矩，都还可以，就是评级有点恶心\nViVO ViVO开放平台\n优点：\n客服回复很快，感觉挺专业。 审核速度快，基本上最快2小时左右就有结果。 审核邮件发的很及时。 缺点：\n有时应用没什么问题后，被拒了，需要提供华为、小米、OPPO其中两家的上架截图….(无语) 只能用Chrome浏览器打开没问题，Safari打开会有问题. 阿里应用开放平台 阿里应用开放平台\n缺点：\n资质要求比较严格。 审核速度慢。 腾讯应用宝 腾讯应用宝\n优点：\n审核速度还行，基本1天左右就有回复 缺点：\n需要资质多。 客服每个人回复的规则都不一样，今天需要提交某某资质，第二天就变了，如果资讯资质类相关内容，一定要问仔细，包括公章盖的位置等。 人工客服需要加QQ，然后排队 百度手机助手 弃用吧，最垃圾…\n后续版本更新 速度很快，基本上都在24小时内就有结果，大概的速度如下： 腾讯应用宝 \u003e OPPO \u003e ViVO \u003e 小米 ≈ 华为\n","wordCount":"60","inLanguage":"en","datePublished":"2021-11-18T10:07:36+08:00","dateModified":"2021-11-18T10:07:36+08:00","mainEntityOfPage":{"@type":"WebPage","@id":"https://imwenbin.com/blog/android%E5%90%84%E5%B9%B3%E5%8F%B0%E4%B8%8A%E6%9E%B6%E7%BD%91%E5%9D%80%E5%92%8C%E5%BF%83%E5%BE%97/"},"publisher":{"@type":"Organization","name":"wenbin","logo":{"@type":"ImageObject","url":"https://imwenbin.com/favicon.ico"}}}</script></head><body id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://imwenbin.com/ accesskey=h title="wenbin (Alt + H)">wenbin</a>
<span class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)"><svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></span></div><ul id=menu><li><a href=https://imwenbin.com/blog/ title=Blog><span>Blog</span></a></li><li><a href=https://imwenbin.com/archives title=Archive><span>Archive</span></a></li><li><a href=https://imwenbin.com/tags title=Tags><span>Tags</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><div class=breadcrumbs><a href=https://imwenbin.com/>Home</a>&nbsp;»&nbsp;<a href=https://imwenbin.com/blog/>Blogs</a></div><h1 class=post-title>「Android」各平台上架网址和心得</h1><div class=post-meta><span title='2021-11-18 10:07:36 +0800 CST'>⌚️ 2021-11-18</span></div></header><div class=toc><details><summary accesskey=c title="(Alt + C)"><span class=details>目录</span></summary><div class=inner><ul><li><a href=#%e7%ac%ac%e4%b8%80%e6%ac%a1%e4%b8%8a%e6%9e%b6 aria-label=第一次上架>第一次上架</a><ul><li><a href=#%e5%8d%8e%e4%b8%ba aria-label=华为>华为</a></li><li><a href=#%e5%b0%8f%e7%b1%b3 aria-label=小米>小米</a></li><li><a href=#oppo aria-label=OPPO>OPPO</a></li><li><a href=#vivo aria-label=ViVO>ViVO</a></li><li><a href=#%e9%98%bf%e9%87%8c%e5%ba%94%e7%94%a8%e5%bc%80%e6%94%be%e5%b9%b3%e5%8f%b0 aria-label=阿里应用开放平台>阿里应用开放平台</a></li><li><a href=#%e8%85%be%e8%ae%af%e5%ba%94%e7%94%a8%e5%ae%9d aria-label=腾讯应用宝>腾讯应用宝</a></li><li><a href=#%e7%99%be%e5%ba%a6%e6%89%8b%e6%9c%ba%e5%8a%a9%e6%89%8b aria-label=百度手机助手>百度手机助手</a></li></ul></li><li><a href=#%e5%90%8e%e7%bb%ad%e7%89%88%e6%9c%ac%e6%9b%b4%e6%96%b0 aria-label=后续版本更新>后续版本更新</a></li></ul></div></details></div><div class=post-content><blockquote><p>上传iOS应用只需在App Store上传一次即可，国内安卓商店众多，这篇文章主要阐述主要的几个平台上架的心得并附网址。</p></blockquote><h1 id=第一次上架>第一次上架<a hidden class=anchor aria-hidden=true href=#第一次上架>#</a></h1><h2 id=华为>华为<a hidden class=anchor aria-hidden=true href=#华为>#</a></h2><p><a href=https://developer.huawei.com/consumer/cn/>华为开放平台</a></p><p>优点：</p><ol><li>界面做的最像App Store Connect，使用起来没有什么障碍。</li><li>保存的信息没有丢失过。</li><li>审核速度比较快，不到24小时就会处理完。</li></ol><p>缺点：</p><ol><li>一些文档有时打不开，需要的资质要求较多，需要提前准备（例如软著、ICP备案和一些特殊分类资质）</li></ol><h2 id=小米>小米<a hidden class=anchor aria-hidden=true href=#小米>#</a></h2><p><a href=https://dev.mi.com/console/>小米开放平台</a></p><p>优点：</p><ol><li>绑定邮件后，邮件通知及时。</li><li>界面做的简单，一个页面从上到下就可以填写完成，不需要切换页面。</li></ol><p>缺点：</p><ol><li>找不到人工客服，只能通过留言和发邮件，留言回复非常慢&mldr;</li><li>审核速度慢，基本上2-3天。</li><li>保存的信息有时候会丢失，所以上架前需要再仔细检查一遍</li></ol><h2 id=oppo>OPPO<a hidden class=anchor aria-hidden=true href=#oppo>#</a></h2><p><a href=https://open.oppomobile.com>OPPO开放平台</a>
比较中规中矩，都还可以，就是评级有点恶心</p><h2 id=vivo>ViVO<a hidden class=anchor aria-hidden=true href=#vivo>#</a></h2><p><a href=https://dev.vivo.com.cn/home>ViVO开放平台</a></p><p>优点：</p><ol><li>客服回复很快，感觉挺专业。</li><li>审核速度快，基本上最快2小时左右就有结果。</li><li>审核邮件发的很及时。</li></ol><p>缺点：</p><ol><li>有时应用没什么问题后，被拒了，需要提供华为、小米、OPPO其中两家的上架截图&mldr;.(无语)</li><li>只能用Chrome浏览器打开没问题，Safari打开会有问题.</li></ol><h2 id=阿里应用开放平台>阿里应用开放平台<a hidden class=anchor aria-hidden=true href=#阿里应用开放平台>#</a></h2><p><a href=http://open.uc.cn>阿里应用开放平台</a></p><p>缺点：</p><ol><li>资质要求比较严格。</li><li>审核速度慢。</li></ol><h2 id=腾讯应用宝>腾讯应用宝<a hidden class=anchor aria-hidden=true href=#腾讯应用宝>#</a></h2><p><a href=http://op.open.qq.com>腾讯应用宝</a></p><p>优点：</p><ol><li>审核速度还行，基本1天左右就有回复</li></ol><p>缺点：</p><ol><li>需要资质多。</li><li>客服每个人回复的规则都不一样，今天需要提交某某资质，第二天就变了，如果资讯资质类相关内容，一定要问仔细，包括公章盖的位置等。</li><li>人工客服需要加QQ，然后排队</li></ol><h2 id=百度手机助手>百度手机助手<a hidden class=anchor aria-hidden=true href=#百度手机助手>#</a></h2><p>弃用吧，最垃圾&mldr;</p><hr><h1 id=后续版本更新>后续版本更新<a hidden class=anchor aria-hidden=true href=#后续版本更新>#</a></h1><p>速度很快，基本上都在24小时内就有结果，大概的速度如下：
腾讯应用宝 > OPPO > ViVO > 小米 ≈ 华为</p></div><footer class=post-footer><ul class=post-tags><li><a href=https://imwenbin.com/tags/android%E5%BC%80%E5%8F%91%E6%9D%82%E8%B4%A7/>Android开发杂货</a></li></ul><nav class=paginav><a class=prev href=https://imwenbin.com/blog/android%E5%BA%94%E7%94%A8%E5%86%85%E5%8D%87%E7%BA%A7%E9%80%82%E9%85%8D6.0%E5%8F%8A%E4%BB%A5%E4%B8%8A%E9%99%84%E6%BA%90%E7%A0%81/><span class=title>« Prev Page</span><br><span>「Android」应用内升级，适配6.0及以上，附源码</span></a>
<a class=next href=https://imwenbin.com/blog/ios-unable-to-find-a-pod-with-name-author-summary-or-description-matching/><span class=title>Next Page »</span><br><span>「iOS」[!] Unable to find a pod with name, author, summary, or description matching</span></a></nav></footer></article></main><footer class=footer><span>&copy; 2023 <a href=https://imwenbin.com/>wenbin</a>.</span>
<span>保留部分权利。</span>
<span><a href=https://beian.miit.gov.cn>津ICP备2021008823号</a></span>
<span style="width:300px;margin:0 auto;padding:20px 0"><a target=_blank href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=12010302002359" style=display:inline-block;text-decoration:none;height:20px;line-height:20px><img src=/备案图标.png style=float:left;width:16px><p>津公网安备 12010302002359号</p></a></span></footer><a href=#top aria-label="go to top" title="Go to Top (Alt + G)" class=top-link id=top-link accesskey=g><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 6" fill="currentcolor"><path d="M12 6H0l6-6z"/></svg></a><script>let menu=document.getElementById("menu");menu&&(menu.scrollLeft=localStorage.getItem("menu-scroll-position"),menu.onscroll=function(){localStorage.setItem("menu-scroll-position",menu.scrollLeft)}),document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();var t=this.getAttribute("href").substr(1);window.matchMedia("(prefers-reduced-motion: reduce)").matches?document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView():document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView({behavior:"smooth"}),t==="top"?history.replaceState(null,null," "):history.pushState(null,null,`#${t}`)})})</script><script>var mybutton=document.getElementById("top-link");window.onscroll=function(){document.body.scrollTop>800||document.documentElement.scrollTop>800?(mybutton.style.visibility="visible",mybutton.style.opacity="1"):(mybutton.style.visibility="hidden",mybutton.style.opacity="0")}</script><script>document.getElementById("theme-toggle").addEventListener("click",()=>{document.body.className.includes("dark")?(document.body.classList.remove("dark"),localStorage.setItem("pref-theme","light")):(document.body.classList.add("dark"),localStorage.setItem("pref-theme","dark"))})</script><script>document.querySelectorAll("pre > code").forEach(e=>{const n=e.parentNode.parentNode,t=document.createElement("button");t.classList.add("copy-code"),t.innerText="copy";function s(){t.innerText="copied!",setTimeout(()=>{t.innerText="copy"},2e3)}t.addEventListener("click",t=>{if("clipboard"in navigator){navigator.clipboard.writeText(e.textContent),s();return}const n=document.createRange();n.selectNodeContents(e);const o=window.getSelection();o.removeAllRanges(),o.addRange(n);try{document.execCommand("copy"),s()}catch{}o.removeRange(n)}),n.classList.contains("highlight")?n.appendChild(t):n.parentNode.firstChild==n||(e.parentNode.parentNode.parentNode.parentNode.parentNode.nodeName=="TABLE"?e.parentNode.parentNode.parentNode.parentNode.parentNode.appendChild(t):e.parentNode.appendChild(t))})</script></body></html>